<?php
declare (strict_types = 1);

namespace app\controller;

use app\model\UserModel;
use think\Request;

class File extends Base
{
//    上传用户头像图片
    public function uploadUserImg(){

        $user_img=$_FILES['user_img'];
        // 占坑：验证token
        $user_id=UserModel::getUseridByToken($_POST['user_token']); //获取用户id
        //将图片存入目录
        $dir_img = FILEDIR.'user_img';
        if(!is_dir($dir_img))
        {
            mkdir($dir_img, 0777, true);
        }
        chmod($dir_img, 0777); // 修改文件模式，所有人都有读、写、执行权限

        // 接收图片文件信息
        $img_name = $user_img['name'];
       // $img_type = $user_img['type'];
        $img_tmp_name = $user_img['tmp_name']; //储存的临时文件名，一般是系统默认
        $img_ext = pathinfo($img_name, PATHINFO_EXTENSION); // 提取上传文件的扩展名
        // 得到唯一的文件名，防止因文件名相同而产生覆盖
        $img_uniName = md5(uniqid('',true)).".$img_ext"; // md5加密，uniqid产生唯一id，microtime作前缀
        // 目标存放文件地址
        $img_destination = $dir_img."/".$img_uniName;
//        echo $img_destination;
        // 当文件上传成功时，存入临时文件夹，服务器开始判断
        if (@move_uploaded_file($img_tmp_name, $img_destination))
        {
//            @错误抑制符，不让用户看到警告
        }
        else {
            //echo "文件".$img_tmp_name."上传失败！";
            //返回消息
            return json(array(
                'code' => 0
            ));
        }
        chmod($img_destination, 0777); // 修改文件模式，所有人都有读、写、执行权限
        $data = ['img' => $img_uniName];
        $db=UserModel::find($user_id);
//        删除文件中旧头像
        $old_user_img=$db['img'];
        $old_user_pth=FILEDIR.'user_img/'.$old_user_img;

        if($db->save($data)){
            if($old_user_img!='default_user_img.jpg'){
                if(unlink($old_user_pth))
                {
                    return json(array(
                        'code' =>1
                    ));
                }
            }
            else {
                return json(array(
                    'code' =>1
                ));
            }

        }

        return json(array(
            'code' => 0
        ));


    }






    /**
     * 显示资源列表
     *
     * @return \think\Response
     */
    public function index()
    {
        //
    }

    /**
     * 显示创建资源表单页.
     *
     * @return \think\Response
     */
    public function create()
    {
        //
    }

    /**
     * 保存新建的资源
     *
     * @param  \think\Request  $request
     * @return \think\Response
     */
    public function save(Request $request)
    {
        //
    }

    /**
     * 显示指定的资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function read($id)
    {
        //
    }

    /**
     * 显示编辑资源表单页.
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * 保存更新的资源
     *
     * @param  \think\Request  $request
     * @param  int  $id
     * @return \think\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * 删除指定资源
     *
     * @param  int  $id
     * @return \think\Response
     */
    public function delete($id)
    {
        //
    }
}
